//layer弹出层
var urlView = 'https://apitest.odancool.com/weixinapp/view/';//测试服页面
// var urlView = 'https://api.odancool.com/weixinapp/view/';//正式服页面
function laymsg (tag){
    var widths='';
    if(tag.length>14){
        widths='240px';
    }
    layer.msg(tag,{
        timer:500000,
        area: widths
        //offset:'100px'
    });
}

//ajax请求
function getData (types, url, data, fn) {
    var urlCommon = 'https://apitest.odancool.com';//测试环境
    // var urlCommon = 'https://api.odancool.com';//线上环境
    $.ajax({
        type: types, //请求方式
        url: urlCommon + url, //请求的url地址
        dataType: "json", //返回格式为json
        async: true, //请求是否异步，默认为异步，这也是ajax重要特性
        data: data,
        /*beforeSend:function(){
        $(".u-goldPrice-btn").val('正在加载')
        },*/
        headers:{
            'PUA':'webapp'
        },
        success: fn
        /*  complete:function(){
         $(".u-goldPrice-btn").val('已完成')
         }*/
    });
}

//layer加载
function layLoading () {
    return layer.load(2);
}

//截取url关键值
function getUrlString (name) {
    var reg = new RegExp("(^|&)"+name+"=([^&]*)(&|$)");
    var result = window.location.search.substr(1).match(reg);
    return result?decodeURIComponent(result[2]):null;
}

//校验手机号
function phoneNumberVer (mobile){
    if (mobile.length == 0) {
        laymsg('请填写手机号');
        return false;
    }
    if (mobile.length < 11) {
        laymsg('请正确填写手机号');
        return false;
    }else if(mobile.length > 11){
        laymsg('请正确填写手机号');
        return false;
    }
    var myreg = /^(13[0-9]|14[579]|15[0-3,5-9]|16[6]|17[0-9]|18[0-9]|19[0-9])\d{8}$/;
    if (!myreg.test(mobile)) {
        laymsg('请正确填写手机号');
        return false;
    }
    return true;
}
var  numAdd,numSub,numMulti,numDiv;
    /**
     * 加法运算，避免数据相加小数点后产生多位数和计算精度损失。
     *
     * @param num1加数1 | num2加数2
     */
function numAdd (num1, num2) {
    var baseNum, baseNum1, baseNum2;
    try {
        baseNum1 = num1.toString().split(".")[1].length;
    } catch (e) {
        baseNum1 = 0;
    }
    try {
        baseNum2 = num2.toString().split(".")[1].length;
    } catch (e) {
        baseNum2 = 0;
    }
    baseNum = Math.pow(10, Math.max(baseNum1, baseNum2));
    return (num1 * baseNum + num2 * baseNum) / baseNum;
}
/**
 * 减法运算，避免数据相减小数点后产生多位数和计算精度损失。
 *
 * @param num1被减数  |  num2减数
 */
function numSub (num1, num2) {
    var baseNum, baseNum1, baseNum2;
    var precision;// 精度
    try {
        baseNum1 = num1.toString().split(".")[1].length;
    } catch (e) {
        baseNum1 = 0;
    }
    try {
        baseNum2 = num2.toString().split(".")[1].length;
    } catch (e) {
        baseNum2 = 0;
    }
    baseNum = Math.pow(10, Math.max(baseNum1, baseNum2));
    precision = (baseNum1 >= baseNum2) ? baseNum1 : baseNum2;
    return ((num1 * baseNum - num2 * baseNum) / baseNum).toFixed(precision);
}
/**
 * 乘法运算，避免数据相乘小数点后产生多位数和计算精度损失。
 *
 * @param num1被乘数 | num2乘数
 */
function numMulti (num1, num2) {
    var baseNum = 0;
    try {
        baseNum += num1.toString().split(".")[1].length;
    } catch (e) {
    }
    try {
        baseNum += num2.toString().split(".")[1].length;
    } catch (e) {
    }
    return Number(num1.toString().replace(".", "")) * Number(num2.toString().replace(".", "")) / Math.pow(10, baseNum);
}
/**
 * 除法运算，避免数据相除小数点后产生多位数和计算精度损失。
 *
 * @param num1被除数 | num2除数
 */
function numDiv (num1, num2) {
    var baseNum1 = 0, baseNum2 = 0;
    var baseNum3, baseNum4;
    try {
        baseNum1 = num1.toString().split(".")[1].length;
    } catch (e) {
        baseNum1 = 0;
    }
    try {
        baseNum2 = num2.toString().split(".")[1].length;
    } catch (e) {
        baseNum2 = 0;
    }
    with (Math) {
        baseNum3 = Number(num1.toString().replace(".", ""));
        baseNum4 = Number(num2.toString().replace(".", ""));
        return (baseNum3 / baseNum4) * pow(10, baseNum2 - baseNum1);
    }
}

//获取cookie值
function getCookie (name) {
    var nameEQ = name + "=";
    var ca = document.cookie.split(';');    //把cookie分割成组
    for(var i=0;i < ca.length;i++) {
        var c = ca[i];                      //取得字符串
        while (c.charAt(0)==' ') {          //判断一下字符串有没有前导空格
            c = c.substring(1,c.length);      //有的话，从第二位开始取
        }
        if (c.indexOf(nameEQ) == 0) {       //如果含有我们要的name
            return unescape(c.substring(nameEQ.length,c.length));    //解码并截取我们要值
        }
    }
    return false;
}

//设置cookie值
function setCookie (name, value, seconds) {
    seconds = seconds || 0;   //seconds有值就直接赋值，没有为0，这个根php不一样。
    var expires = "";
    if (seconds != 0 ) {      //设置cookie生存时间
        var date = new Date();
        date.setTime(date.getTime()+(seconds*1000));
        expires = "; expires="+date.toGMTString();
    }
    document.cookie = name+"="+escape(value)+expires+"; path=/";   //转码并赋值
}

//清除cookie值
function clearCookie (name) {
    setCookie(name, "", -1);
}

//获取当前时间
function getCurrentTime() {
    var date = new Date();//当前时间
    var month = zeroFill(date.getMonth() + 1);//月
    var day = zeroFill(date.getDate());//日
    var hour = zeroFill(date.getHours());//时
    var minute = zeroFill(date.getMinutes());//分
    var second = zeroFill(date.getSeconds());//秒

    //当前时间
    var curTime = date.getFullYear() + "-" + month + "-" + day
        + " " + hour + ":" + minute + ":" + second;

    return curTime;
}

//数组去重
function uniq(array){
    var temp = [];
    // var index = [];
    var l = array.length;
    for(var i = 0; i < l; i++) {
        for(var j = i + 1; j < l; j++){
            if (array[i] === array[j]){
                i++;
                j = i;
            }
        }
        temp.push(array[i]);
        // index.push(i);
    }
    // console.log(index);
    return temp;
}




function ScollPostion() { //滚动条位置
    var t, l, w, h;
    if(document.documentElement && document.documentElement.scrollTop) {
        t = document.documentElement.scrollTop;
        l = document.documentElement.scrollLeft;
        w = document.documentElement.scrollWidth;
        h = document.documentElement.scrollHeight;
    } else if(document.body) {
        t = document.body.scrollTop;
        l = document.body.scrollLeft;
        w = document.body.scrollWidth;
        h = document.body.scrollHeight;
    }
    return {
        top: t,
        left: l,
        width: w,
        height: h
    };
}

// 存放到sessionStorage
function setItem(key,val){
    sessionStorage.setItem(key,val);
}

// 从sessionStorage中取
function getItem(key) {
    return sessionStorage.getItem(key);
}

// 删除sessionStorage
function clearItem(key) {
    sessionStorage.setItem(key,'');
}



/**
 * 补零
 */
function zeroFill(i){
    if (i >= 0 && i <= 9) {
        return "0" + i;
    } else {
        return i;
    }
}

//截取时间
function subTime(name) {
    var time = name.substring(0,4) + '-' + name.substring(4,6) + '-' + name.substring(6,8) + ' ' + name.substring(8,10) + ':' + name.substring(10,12);
    return time
}

//转意符换成普通字符
function escape2Html(str) {
    var arrEntities={'lt':'<','gt':'>','nbsp':' ','amp':'&','quot':'"'};
    return str.replace(/&(lt|gt|nbsp|amp|quot);/ig,function(all,t){return arrEntities[t];});
}

//计算两个日期的时间差
function getYMDHMS(startTime, endTime) {
    var startArr = [startTime.substring(0, 4), startTime.substring(4, 6), startTime.substring(6, 8), startTime.substring(8, 10), startTime.substring(10, 12), startTime.substring(12, 14)];//切分开始时间为数组
    var endArr = [endTime.substring(0, 4), endTime.substring(4, 6), endTime.substring(6, 8), endTime.substring(8, 10), endTime.substring(10, 12), endTime.substring(12, 14)];//切分结束时间为数组
    var dateStart = new Date(startArr[0], startArr[1], startArr[2], startArr[3], startArr[4], startArr[5]);//采用new Date(yyyy,mth,dd,hh,mm,ss);创建方式分别传入年月日时分秒
    var dateEnd = new Date(endArr[0], endArr[1], endArr[2], endArr[3], endArr[4], endArr[5]);
    var dateInterval = dateEnd.getTime() - dateStart.getTime();//获取时间差毫秒
    //计算出相差天数
    var days = Math.floor(dateInterval / (24 * 60 * 60 * 1000));
    //计算小时数
    var hourLevel = dateInterval % (24 * 60 * 60 * 1000);
    var hours = Math.floor(hourLevel / (60 * 60 * 1000));
    //计算分钟数
    var minutesLevel = hourLevel % (60 * 60 * 1000);
    var minutes = Math.floor(minutesLevel / (60 * 1000));
    //计算秒数
    var seconds = Math.round((minutesLevel % (60 * 1000)) / 1000);
    var timeFn = days+ '天' + hours + '小时' + minutes + '分钟';
    return timeFn;
}



function nativeCommand(actionurl) {
    var u = navigator.userAgent;
    var isAndroid = u.indexOf('Android') > -1 || u.indexOf('Adr') > -1; //android终端
    var isiOS = !!u.match(/\(i[^;]+;( U;)? CPU.+Mac OS X/); //ios终端
    if (isiOS) {
        window.webkit.messageHandlers.gotopage.postMessage(actionurl);
    }else {
        ikags.gotopage(actionurl)
    }
}
